package compra.steps;

import compra.fake.DataBase;
import compra.fake.Solicitacao;

import controlador.npws.Atributos;
import controlador.npws.DataHolder;
import controlador.npws.Passo;
import controlador.npws.PassoNpdl;

public class RuleCompraExiste extends Passo {

	private int regraFalsa = 0;

	private int regraVerdadeira = 1;

	private int statusDaRegra = regraVerdadeira;

	public RuleCompraExiste(PassoNpdl passoNpdl) {
		super(passoNpdl);
	}

	public void avaliaPasso(Object obj) {
		DataHolder holder = (DataHolder) obj;

		DataBase bd = DataBase.getDataBase();
		
		if (bd.existeCompraParaSolicitacao((Solicitacao)holder.getDado(Atributos.solicitacao))){
			this.statusDaRegra = this.regraVerdadeira;
		}
		else {
			this.statusDaRegra = this.regraFalsa;
		}
		
	}

	public void executaPasso() {
		(super.passo).executeRule(super.passoId, super.instanciaId,
				statusDaRegra);
	}
}
